
// Boost Includes ==============================================================
#include <boost/python.hpp>
#include <boost/cstdint.hpp>

// Includes ====================================================================
#include <OpenSG/OSGCubeTextureChunk.h>
#include <OpenSG/OSGCubeTextureChunkBase.h>
#include <OsgPtrHelpers.h>

// Using =======================================================================
using namespace boost::python;

// Declarations ================================================================
namespace  {

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(osg_CubeTextureChunk_dump_overloads_0_2, dump, 0, 2)

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(osg_CubeTextureChunk_activate_overloads_1_2, activate, 1, 2)

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(osg_CubeTextureChunk_changeFrom_overloads_2_3, changeFrom, 2, 3)

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(osg_CubeTextureChunk_deactivate_overloads_1_2, deactivate, 1, 2)


}// namespace


// Module ======================================================================
void Export_src_pyste_gen_CubeTextureChunk()
{
    scope* osg_CubeTextureChunkBase_scope = new scope(
    class_< osg::CubeTextureChunkBase, bases< osg::TextureChunk > , boost::noncopyable >("CubeTextureChunkBase", no_init)
//        .def_readonly("PosZImageFieldMask", &osg::CubeTextureChunkBase::PosZImageFieldMask)
//        .def_readonly("PosXImageFieldMask", &osg::CubeTextureChunkBase::PosXImageFieldMask)
//        .def_readonly("NegXImageFieldMask", &osg::CubeTextureChunkBase::NegXImageFieldMask)
//        .def_readonly("PosYImageFieldMask", &osg::CubeTextureChunkBase::PosYImageFieldMask)
//        .def_readonly("NegYImageFieldMask", &osg::CubeTextureChunkBase::NegYImageFieldMask)
//        .def_readonly("IsReflectionMapFieldMask", &osg::CubeTextureChunkBase::IsReflectionMapFieldMask)
//        .def_readonly("MTInfluenceMask", &osg::CubeTextureChunkBase::MTInfluenceMask)
        .def("getClassType", &osg::CubeTextureChunkBase::getClassType, return_internal_reference< 1 >())
        .def("getClassTypeId", &osg::CubeTextureChunkBase::getClassTypeId)
        .def("getType", (osg::FieldContainerType& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getType, return_internal_reference< 1 >())
        .def("getType", (const osg::FieldContainerType& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getType, return_internal_reference< 1 >())
        .def("getContainerSize", &osg::CubeTextureChunkBase::getContainerSize)
        //.def("getPosZImage", (osg::ImagePtr& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getPosZImage, return_value_policy< copy_const_reference >())
        .def("getPosZImage", (const osg::ImagePtr& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getPosZImage, return_value_policy< copy_const_reference >())
        //.def("getPosXImage", (osg::ImagePtr& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getPosXImage, return_value_policy< copy_const_reference >())
        .def("getPosXImage", (const osg::ImagePtr& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getPosXImage, return_value_policy< copy_const_reference >())
        //.def("getNegXImage", (osg::ImagePtr& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getNegXImage, return_value_policy< copy_const_reference >())
        .def("getNegXImage", (const osg::ImagePtr& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getNegXImage, return_value_policy< copy_const_reference >())
        //.def("getPosYImage", (osg::ImagePtr& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getPosYImage, return_value_policy< copy_const_reference >())
        .def("getPosYImage", (const osg::ImagePtr& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getPosYImage, return_value_policy< copy_const_reference >())
        //.def("getNegYImage", (osg::ImagePtr& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getNegYImage, return_value_policy< copy_const_reference >())
        .def("getNegYImage", (const osg::ImagePtr& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getNegYImage, return_value_policy< copy_const_reference >())
        //.def("getIsReflectionMap", (bool& (osg::CubeTextureChunkBase::*)() )&osg::CubeTextureChunkBase::getIsReflectionMap, return_value_policy< copy_const_reference >())
        .def("getIsReflectionMap", (const bool& (osg::CubeTextureChunkBase::*)() const)&osg::CubeTextureChunkBase::getIsReflectionMap, return_value_policy< copy_const_reference >())
        .def("setPosZImage", &osg::CubeTextureChunkBase::setPosZImage)
        .def("setPosXImage", &osg::CubeTextureChunkBase::setPosXImage)
        .def("setNegXImage", &osg::CubeTextureChunkBase::setNegXImage)
        .def("setPosYImage", &osg::CubeTextureChunkBase::setPosYImage)
        .def("setNegYImage", &osg::CubeTextureChunkBase::setNegYImage)
        .def("setIsReflectionMap", &osg::CubeTextureChunkBase::setIsReflectionMap)
        .def("getBinSize", &osg::CubeTextureChunkBase::getBinSize)
        .def("copyToBin", &osg::CubeTextureChunkBase::copyToBin)
        .def("copyFromBin", &osg::CubeTextureChunkBase::copyFromBin)
        .def("create", &osg::CubeTextureChunkBase::create)
        .def("createEmpty", &osg::CubeTextureChunkBase::createEmpty)
        .def("shallowCopy", &osg::CubeTextureChunkBase::shallowCopy)
        .staticmethod("getClassType")
        .staticmethod("create")
        .staticmethod("createEmpty")
        .staticmethod("getClassTypeId")
    );

    scope().attr("PosXImageFieldId") = (int)osg::CubeTextureChunkBase::PosXImageFieldId;
    scope().attr("NegYImageFieldId") = (int)osg::CubeTextureChunkBase::NegYImageFieldId;
    scope().attr("IsReflectionMapFieldId") = (int)osg::CubeTextureChunkBase::IsReflectionMapFieldId;
    scope().attr("PosZImageFieldId") = (int)osg::CubeTextureChunkBase::PosZImageFieldId;
    scope().attr("NextFieldId") = (int)osg::CubeTextureChunkBase::NextFieldId;
    scope().attr("PosYImageFieldId") = (int)osg::CubeTextureChunkBase::PosYImageFieldId;
    scope().attr("NegXImageFieldId") = (int)osg::CubeTextureChunkBase::NegXImageFieldId;

    delete osg_CubeTextureChunkBase_scope;

    class_< osg::CubeTextureChunk, bases< osg::CubeTextureChunkBase > , boost::noncopyable, osg::CubeTextureChunkRefPtr >("CubeTextureChunk", no_init)
        .def("getStaticClassId", &osg::CubeTextureChunk::getStaticClassId)
        .def("changed", &osg::CubeTextureChunk::changed)
        .def("dump", &osg::CubeTextureChunk::dump, osg_CubeTextureChunk_dump_overloads_0_2())
        .def("activate", &osg::CubeTextureChunk::activate, osg_CubeTextureChunk_activate_overloads_1_2())
        .def("changeFrom", &osg::CubeTextureChunk::changeFrom, osg_CubeTextureChunk_changeFrom_overloads_2_3())
        .def("deactivate", &osg::CubeTextureChunk::deactivate, osg_CubeTextureChunk_deactivate_overloads_1_2())
        .def("switchCost", &osg::CubeTextureChunk::switchCost)
        .def("setPosZImage", &osg::CubeTextureChunk::setPosZImage)
        .def("setPosXImage", &osg::CubeTextureChunk::setPosXImage)
        .def("setNegXImage", &osg::CubeTextureChunk::setNegXImage)
        .def("setPosYImage", &osg::CubeTextureChunk::setPosYImage)
        .def("setNegYImage", &osg::CubeTextureChunk::setNegYImage)
        .staticmethod("getStaticClassId")
        //.def( self < other< osg::StateChunk >() )
        //.def( self == other< osg::StateChunk >() )
        //.def( self != other< osg::StateChunk >() )
    ;


    register_ptr_to_python<osg::CubeTextureChunkPtr>();
    implicitly_convertible<osg::CubeTextureChunkRefPtr, osg::CubeTextureChunkPtr>();
    implicitly_convertible<osg::CubeTextureChunkPtr, osg::TextureChunkPtr>();

    def("RefPtr", &pyopensg::ToRefPtr<osg::CubeTextureChunkPtr>);
    def("FCPtr", &pyopensg::ToFcPtr<osg::CubeTextureChunkPtr>);
}

